// react flow
import { Elements, Position } from 'react-flow-renderer';

interface TheoryModelDetailState {
    name: string;
    intro: string;
    elms: Elements
};

export const TheoryModelDetail: TheoryModelDetailState[] = [
    {
        name: '学生德育分析模型',
        intro: '学生德育分析模型是对学生的德育表现进行评估，通过对学生日常德育表现、行为表现、考勤、班级值日、文明礼仪、集体活动、纪律处分、德育活动、德育奖励进行记录，并按照一定规则进行统计，来评估学生当前德育表现所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '德育' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '学生智育分析模型',
        intro: '学生智育分析模型是对学生智育进行综合评估，通过对学生学业水平、学科成绩、学习活动、学习奖励、课后学习、校外学习进行记录，并按照一定规则进行统计，来评估学生当前学业表现所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '智育' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '学生体育分析模型',
        intro: '学生体育分析模型是通过对学生身体形态、体能测试、健康保健、心理健康、运动健康、体育教育、心理教育进行记录，并按照一定规则进行统计，来评估学生当前身心健康状态所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '体育' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '学生美育分析模型',
        intro: '学生美育分析模型是对学生美育表现进行评估，通过对学生美术课程、音乐课程、校内艺术活动、校外艺术活动情况进行记录，并按照一定规则进行统计分析，来评估学生当前艺术素养所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '美育' },
                position: { x: 50, y: 200 },
            },
            {
                id: 'node1',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '认知美的能力' },
                position: { x: 250, y: 50 },
            },
            {
                id: 'node1-1',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学期末美术课程基础知识（笔试）' },
                position: { x: 450, y: 20 },
            },
            {
                id: 'node1-1-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末美术基础知识笔试得分' },
                position: { x: 650, y: 0 },
            },
            {
                id: 'node1-2',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学期末美术作品基本技能掌握（美术作品）' },
                position: { x: 450, y: 120 },
            },
            {
                id: 'node1-2-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末美术作品构图得分' },
                position: { x: 650, y: 60 },
            },
            {
                id: 'node1-2-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末美术作品色彩得分' },
                position: { x: 650, y: 120 },
            },
            {
                id: 'node1-2-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末美术作品内容得分' },
                position: { x: 650, y: 180 },
            },
            {
                id: 'node1-2-4',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末美术作品创意得分' },
                position: { x: 650, y: 240 },
            },
            {
                id: 'node1-3',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '平时美术作品基本技能掌握' },
                position: { x: 450, y: 345 },
            },
            {
                id: 'node1-3-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时美术作品构图得分' },
                position: { x: 650, y: 300 },
            },
            {
                id: 'node1-3-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时美术作品色彩得分' },
                position: { x: 650, y: 345 },
            },
            {
                id: 'node1-3-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时美术作品内容得分' },
                position: { x: 650, y: 390 },
            },
            {
                id: 'node1-3-4',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时美术作品创意得分' },
                position: { x: 650, y: 435 },
            },
            {
                id: 'node1-4',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '美术课程出勤' },
                position: { x: 450, y: 480 },
            },
            {
                id: 'node1-4-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '美术课程出勤得分' },
                position: { x: 650, y: 480 },
            },
            {
                id: 'node2',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '体验美的能力' },
                position: { x: 250, y: 585 },
            },
            {
                id: 'node2-1',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学期末音乐基本技能掌握（歌曲）' },
                position: { x: 450, y: 585 },
            },
            {
                id: 'node2-1-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末歌唱知识技能（音高、节奏）得分' },
                position: { x: 650, y: 525 },
            },
            {
                id: 'node2-1-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末歌唱演唱技能（发声方法、呼吸方法）得分' },
                position: { x: 650, y: 585 },
            },
            {
                id: 'node2-1-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学期末歌唱艺术表现（演唱仪态）得分' },
                position: { x: 650, y: 665 },
            },
            {
                id: 'node2-2',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '平时音乐作品基本技能掌握（音乐作品）' },
                position: { x: 450, y: 785 },
            },

            {
                id: 'node2-2-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时歌唱知识技能（音高、节奏）得分' },
                position: { x: 650, y: 725 },
            },
            {
                id: 'node2-2-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时歌唱演唱技能（发声方法、呼吸方法）得分' },
                position: { x: 650, y: 785 },
            },
            {
                id: 'node2-2-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '平时歌唱艺术表现（演唱仪态）得分' },
                position: { x: 650, y: 865 },
            },

            {
                id: 'node2-3',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '音乐课程出勤' },
                position: { x: 450, y: 925 },
            },
            {
                id: 'node2-3-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '音乐课程出勤得分' },
                position: { x: 650, y: 925 },
            },

            {
                id: 'node3',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '创造艺术美的能力' },
                position: { x: 250, y: 978.5 },
            },
            {
                id: 'node3-1',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '校内艺术活动成绩' },
                position: { x: 450, y: 978.5 },
            },
            {
                id: 'node3-1-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '校内艺术活动获奖项次数、等级得分' },
                position: { x: 650, y: 970 },
            },
            {
                id: 'node3-2',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '校外艺术活动成绩' },
                position: { x: 450, y: 1038.5 },
            },
            {
                id: 'node3-2-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '校外艺术活动获奖项次数、等级得分' },
                position: { x: 650, y: 1030 },
            },
            // edge
            { id: 'edge1', source: 'root', target: 'node1', type: 'smoothstep', animated: true, },
            { id: 'edge2', source: 'root', target: 'node2', type: 'smoothstep', animated: true, },
            { id: 'edge3', source: 'root', target: 'node3', type: 'smoothstep', animated: true, },
            { id: 'edge4', source: 'node1', target: 'node1-1', type: 'smoothstep', animated: true, },
            { id: 'edge5', source: 'node1', target: 'node1-2', type: 'smoothstep', animated: true, },
            { id: 'edge6', source: 'node1', target: 'node1-3', type: 'smoothstep', animated: true, },
            { id: 'edge7', source: 'node1', target: 'node1-4', type: 'smoothstep', animated: true, },
            { id: 'edge8', source: 'node2', target: 'node2-1', type: 'smoothstep', animated: true, },
            { id: 'edge9', source: 'node2', target: 'node2-2', type: 'smoothstep', animated: true, },
            { id: 'edge10', source: 'node2', target: 'node2-3', type: 'smoothstep', animated: true, },
            { id: 'edge11', source: 'node3', target: 'node3-1', type: 'smoothstep', animated: true, },
            { id: 'edge12', source: 'node3', target: 'node3-2', type: 'smoothstep', animated: true, },
            { id: 'edge13', source: 'node1-1', target: 'node1-1-1', type: 'smoothstep', animated: true, },
            { id: 'edge14', source: 'node1-2', target: 'node1-2-1', type: 'smoothstep', animated: true, },
            { id: 'edge15', source: 'node1-2', target: 'node1-2-2', type: 'smoothstep', animated: true, },
            { id: 'edge16', source: 'node1-2', target: 'node1-2-3', type: 'smoothstep', animated: true, },
            { id: 'edge17', source: 'node1-2', target: 'node1-2-4', type: 'smoothstep', animated: true, },
            { id: 'edge18', source: 'node1-3', target: 'node1-3-1', type: 'smoothstep', animated: true, },
            { id: 'edge19', source: 'node1-3', target: 'node1-3-2', type: 'smoothstep', animated: true, },
            { id: 'edge20', source: 'node1-3', target: 'node1-3-3', type: 'smoothstep', animated: true, },
            { id: 'edge21', source: 'node1-3', target: 'node1-3-4', type: 'smoothstep', animated: true, },
            { id: 'edge22', source: 'node1-4', target: 'node1-4-1', type: 'smoothstep', animated: true, },
            { id: 'edge23', source: 'node2-1', target: 'node2-1-1', type: 'smoothstep', animated: true, },
            { id: 'edge24', source: 'node2-1', target: 'node2-1-2', type: 'smoothstep', animated: true, },
            { id: 'edge25', source: 'node2-1', target: 'node2-1-3', type: 'smoothstep', animated: true, },
            { id: 'edge26', source: 'node2-2', target: 'node2-2-1', type: 'smoothstep', animated: true, },
            { id: 'edge27', source: 'node2-2', target: 'node2-2-2', type: 'smoothstep', animated: true, },
            { id: 'edge28', source: 'node2-2', target: 'node2-2-3', type: 'smoothstep', animated: true, },
            { id: 'edge29', source: 'node2-3', target: 'node2-3-1', type: 'smoothstep', animated: true, },
            { id: 'edge30', source: 'node3-1', target: 'node3-1-1', type: 'smoothstep', animated: true, },
            { id: 'edge31', source: 'node3-2', target: 'node3-2-1', type: 'smoothstep', animated: true, },


        ]
    },
    {
        name: '学生劳育分析模型',
        intro: '学生劳育分析模型是对学生个性技能和成长体验两个方面的表现进行评估。其中，个性技能分析模型通过对学生兴趣课程、校外社团、竞赛信息情况进行记录，并按照一定规则进行统计分析，来评估学生当前个性技能表现；成长体验分析模型通过对学生自主管理、主体活动、校运动会、校内阅读、社会实践表现情况进行记录，并按照一定规则进行统计，来评估学生当前成长体验表现所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '劳育' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '学生核心素养分析模型',
        intro: '学生核心素养分析模型是对学生五育并举变现进行综合评估，来评估学生核心素养表现所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '核心素养' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '教师教案分析模型',
        intro: '教师教案分析模型是对教师教案质量进行评估，服务于教学反思，有针对性的提升教师教学设计能力。教案分析模型通过对教案的教学目标、教学内容、学习活动任务设计、学习活动方式设计、资源媒体的运用、学习评价设计这六个方面进行综合分析，来评估教师教案质量所处层级。',
        elms: [
            {
                id: 'node1',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '教案质量' },
                position: { x: 100, y: 250 },
            },
            {
                id: 'node2',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '教学目标的质量' },
                position: { x: 350, y: 40 },
            },
            {
                id: 'node2-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学目标陈述的全面性' },
                position: { x: 600, y: 0 },
            },
            {
                id: 'node2-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学目标陈述的清晰性' },
                position: { x: 600, y: 40 },
            },
            {
                id: 'node2-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学目标设置的合理性' },
                position: { x: 600, y: 80 },
            },
            {
                id: 'node3',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '教学内容的质量' },
                position: { x: 350, y: 160 },
            },
            {
                id: 'node3-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学内容的来源' },
                position: { x: 600, y: 120 },
            },
            {
                id: 'node3-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学重点确定的合理性' },
                position: { x: 600, y: 160 },
            },
            {
                id: 'node3-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学难点确定的合理性' },
                position: { x: 600, y: 200 },
            },
            {
                id: 'node4',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学习活动任务的质量' },
                position: { x: 350, y: 280 },
            },
            {
                id: 'node4-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习活动任务与教学目标的关联' },
                position: { x: 600, y: 240 },
            },
            {
                id: 'node4-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习活动任务重点的突出' },
                position: { x: 600, y: 290 },
            },
            {
                id: 'node4-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习活动任务难点的突破' },
                position: { x: 600, y: 340 },
            },
            {
                id: 'node5',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学习活动方式的质量' },
                position: { x: 350, y: 430 },
            },
            {
                id: 'node5-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习活动方式运用与教学目标的表述' },
                position: { x: 600, y: 390 },
            },
            {
                id: 'node5-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习活动方式运用与学生主体性' },
                position: { x: 600, y: 440 },
            },
            {
                id: 'node6',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '资源媒体的质量' },
                position: { x: 350, y: 520 },
            },
            {
                id: 'node6-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学中资源媒体使用的多样性' },
                position: { x: 600, y: 490 },
            },
            {
                id: 'node6-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '资源媒体运用的合理性' },
                position: { x: 600, y: 540 },
            },
            {
                id: 'node7',
                targetPosition: Position.Left,
                sourcePosition: Position.Right,
                type: 'default',
                data: { label: '学习评价的质量' },
                position: { x: 350, y: 650 },
            },
            {
                id: 'node7-1',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '教学过程中学习评价的提供' },
                position: { x: 600, y: 590 },
            },
            {
                id: 'node7-2',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习评价与教学目标的关联' },
                position: { x: 600, y: 640 },
            },
            {
                id: 'node7-3',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习评价的激励性' },
                position: { x: 600, y: 690 },
            },
            {
                id: 'node7-4',
                targetPosition: Position.Left,
                type: 'output',
                data: { label: '学习评价主体的多元性' },
                position: { x: 600, y: 730 },
            },
            // edge
            {
                id: 'edge1-2',
                source: 'node1',
                target: 'node2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge2-2-1',
                source: 'node2',
                target: 'node2-1',
                type: 'smoothstep',
                animated: true,
            }, {
                id: 'edge2-2-2',
                source: 'node2',
                target: 'node2-2',
                type: 'smoothstep',
                animated: true,
            }, {
                id: 'edge2-2-3',
                source: 'node2',
                target: 'node2-3',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge1-3',
                source: 'node1',
                target: 'node3',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge3-3-1',
                source: 'node3',
                target: 'node3-1',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge3-3-2',
                source: 'node3',
                target: 'node3-2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge3-3-3',
                source: 'node3',
                target: 'node3-3',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge1-4',
                source: 'node1',
                target: 'node4',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge4-4-1',
                source: 'node4',
                target: 'node4-1',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge4-4-2',
                source: 'node4',
                target: 'node4-2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge4-4-3',
                source: 'node4',
                target: 'node4-3',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge1-5',
                source: 'node1',
                target: 'node5',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge5-5-1',
                source: 'node5',
                target: 'node5-1',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge5-5-2',
                source: 'node5',
                target: 'node5-2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge1-6',
                source: 'node1',
                target: 'node6',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge6-6-1',
                source: 'node6',
                target: 'node6-1',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge6-6-2',
                source: 'node6',
                target: 'node6-2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge1-7',
                source: 'node1',
                target: 'node7',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge7-7-1',
                source: 'node7',
                target: 'node7-1',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge7-7-2',
                source: 'node7',
                target: 'node7-2',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge7-7-3',
                source: 'node7',
                target: 'node7-3',
                type: 'smoothstep',
                animated: true,
            },
            {
                id: 'edge7-7-4',
                source: 'node7',
                target: 'node7-4',
                type: 'smoothstep',
                animated: true,
            },
        ]
    },
    {
        name: '教师听评课分析模型',
        intro: '教师听评课分析模型是对公开课或在线教研活动质量进行评估，通过对学生学习、教师教学、课程性质、课堂文化这四个方面进行综合分析，来评估教师公开课或教研活动表现所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '教研活动质量' },
                position: { x: 50, y: 200 },
            },
        ]
    },
    {
        name: '教师专业发展分析模型',
        intro: '教师专业发展分析模型是对教师自身专业发展情况进行评估，通过对教师科研能力、专业能力、教学成效、职业发展这四个方面进行综合分析，来评估教师当前专业发展情况所处层级。',
        elms: [
            {
                id: 'root',
                sourcePosition: Position.Right,
                type: 'input',
                className: 'dark-node',
                data: { label: '教师专业发展' },
                position: { x: 50, y: 200 },
            },
        ]
    },
];